<!--
 * @Date: 2025-02-11 12:09:38
 * @LastEditors: zl 1077167261@qq.com
 * @LastEditTime: 2025-02-12 10:12:10
 * @FilePath: \vue-admin\src\components\AuthCon\AuthBtn.vue
-->
<!-- 
高阶组件:把组件当成参数传给另一个组件，返回一个包装过的新组件 


-->
<script>
export default {
  props: {
    msg: String,
    default: "",
  },
  // 渲染器函数，可以实现函数式组件
  // h是一个函数本质上就是createElement
  render(h) {
    // h函数有三个参数(Dom,属性,内容)
    //  return h('h3',{class:'msg'},'我是高阶组件')
    // return h("h3", { class: "msg" }, [
    //   h('button',{},'按钮1'),
    //   h('button',{},'按钮2')

    // ]);
    // 返回插槽内的默认组件的组件
    const pers = this.$store.state.user.profile.permissions;
    // console.log(pers, this.msg);
    if (pers.includes(this.msg) || pers.includes("*:*:*")) {
      return this.$slots.default;
    }
  },
};
</script>

<style></style>
